Screen transition consolidation apparatus, screen transition consolidation method and program

ABSTRACT

A screen transition aggregation device includes a calculation unit configured to calculate a degree of similarity between a transition destination screen and a transition source screen in order from an end screen in a screen transition diagram; and a generation unit configured to classify the transition destination screen and the transition source screen into groups based on a comparison between the degree of similarity and a threshold value, and to generate information indicating a transition relationship between the groups. Thus, the ease of grasping the specifications of an application that provides a function by screen transition is improved.

TECHNICAL FIELD

The present invention relates to a screen transition aggregation device,a screen transition aggregation method, and a program.

BACKGROUND ART

To quickly provide services that meet diversified consumer needs,agile-type application development (hereinafter referred to as “agiledevelopment”) is increasing. The agile development has advantages inbeing capable of receiving much feedback by creating an application thatactually works and continuing to release the created applicationfrequently rather than creating a document such as a design document,but has a drawback in the difficulty for grasping the specificationsbecause there is no document. Therefore, there is an increasing demandfor the reverse engineering technology that restores the specificationsfor the current application.

As the known reverse engineering technology, there is a method ofcrawling a Web application to restore specification information, andoutputting the specification information as a screen transition diagram(Non Patent Literature 1). According to this method, it is possible toautomatically generate the screen transition diagram of the applicationand thus to grasp the specifications at low cost.

CITATION LIST Non Patent Literature

-   Non Patent Literature 1: Toshiyuki Kurabayashi, Muneyoshi lyama,    Hiroyuki Kirinuki, and Haruto Tanno, “Automatic Test Script    Generation on GUI Testing”, Software Engineering Symposium 2017    Papers pp. 260-264, September 2017

SUMMARY OF THE INVENTION Technical Problem

However, as the size of the application increases and the number ofscreens increases, the screen transition diagram also becomes larger,and it is difficult to grasp the specification.

The present invention has been made in view of the above points, and anobject of the present invention is to improve the ease of grasping thespecifications of an application that provides a function by screentransition.

Means for Solving the Problem

To solve the above problem, a screen transition aggregation deviceincludes a calculation unit configured to calculate a degree ofsimilarity between a transition destination screen and a transitionsource screen in order from an end screen in a screen transitiondiagram; and a generation unit configured to classify the transitiondestination screen and the transition source screen into groups based ona comparison between the degree of similarity and a threshold value, andto generate information indicating a transition relationship between thegroups.

Effects of the Invention

It is possible to improve the ease of grasping the specifications of anapplication that provides a function by screen transition.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a screen transition diagram illustrating an outline of anembodiment.

FIG. 2 is a functional flow diagram illustrating the outline of theembodiment.

FIG. 3 is a diagram illustrating a hardware configuration example of ascreen transition aggregation device 10 in the embodiment of the presentinvention.

FIG. 4 is a diagram illustrating a functional configuration example ofthe screen transition aggregation device 10 in the embodiment of thepresent invention.

FIG. 5 is a flowchart illustrating an example of a processing procedureexecuted by the screen transition aggregation device 10.

FIG. 6 is a flowchart illustrating an example of a processing procedureof a deletion process of a transition that is not included in anyshortest path.

FIG. 7 is a diagram illustrating an example of a screen transitiondiagram X′.

FIG. 8 is a flowchart illustrating an example of a processing procedureof a generation process of a functional flow diagram.

FIG. 9 is a first diagram illustrating an example of an end screen and atransition source screen that are calculation targets of a degree ofsimilarity.

FIG. 10 is a first diagram illustrating an example of a grouping resultbetween the end screen and the transition source screen.

FIG. 11 is a second diagram illustrating an example of the end screenand the transition source screen that are the calculation targets of thedegree of similarity.

FIG. 12 is a second diagram illustrating an example of the groupingresult between the end screen and the transition source screen.

FIG. 13 is a diagram illustrating an example of a grouping result afterthe degree of similarity with the transition source screen is calculatedfor all end screens.

FIG. 14 is a first diagram illustrating an example in which the degreeof similarity of the transition source screen right before an end screenwith the further transition source screen in two steps before the endscreen is calculated.

FIG. 15 is a diagram illustrating an example in which the transitionsource screen right before an end screen is classified into a group ofthe further transition source screen in two steps before the end screen.

FIG. 16 is a second diagram illustrating an example in which the degreeof similarity of the transition source screen right before the endscreen with the further transition source screen in two steps before theend screen is calculated.

FIG. 17 is a diagram illustrating an example in which the transitionsource screen right before the end screen is not classified into thesame group as the further transition source screen in two steps beforethe end screen.

FIG. 18 is a diagram illustrating an example in which the degree ofsimilarity of the transition source of the transition source screen withthe further transition source screen in three steps before the endscreen is calculated.

FIG. 19 is a diagram illustrating an example of a grouping between thetransition source of the transition source screen and the furthertransition source screen in three steps before the end screen.

FIG. 20 is a diagram illustrating an example of the functional flowdiagram in which a function name is assigned to each group.

FIG. 21 is a diagram illustrating an example of a functional flowdiagram in which the deleted transition is restored.

DESCRIPTION OF EMBODIMENTS

An embodiment of the present invention will be described below withreference to the drawings. Because an application such as a Webapplication is generally divided for each function, it is consideredeasy to understand that each screen in a screen transition diagram isgrouped into units of function, and the screen transition diagram isaggregated into information indicating a transition relationship betweengroups (hereinafter referred to as a “functional flow diagram”). Forexample, a functional flow diagram as illustrated in FIG. 2 is obtainedby grouping the screen included in the screen transition diagramillustrated in FIG. 1 for a certain application by functional units ofthe application. It is easier to understand what the application workswith the functional flow diagram as illustrated in FIG. 2 instead of thescreen transition diagram as illustrated in FIG. 1.

There are a variety of automatic screen classification methods. Forexample, Orihara and Utsumi classify HTML by comparing structuralcloseness using information or the like on the tree structure of theHTML tags between screens (Orihara Hiroshi, Akira Utsumi, “Web DocumentClustering Using HTML Tags”, Information Processing Society of JapanJournal Vol. 49 No. 8, August 2008).

However, when the known methods are simply used to create a functionalflow diagram from the screen transition diagram, the degree ofsimilarity is compared between all screens with ignoring the structureof the screen transition diagram. Thus, screens having clearly differentfunctions may be determined to be the same function. For example, in thescreen transition diagram of FIG. 1, a situation may occur in whichscreens considered to be the structurally different functions in thescreen transition diagram may be determined to be the same screens, suchas two screens of “membership registration (confirmation screen)” and“login failure”.

Therefore, in the embodiment, a technology as follows is disclosed: foreach screen constituting a node in the screen transition diagram, aclassification (grouping) is performed based on the similarity with ascreen as a transition source in order from an end screen, so thatgrouping of screens in distant places on the structure of the screentransition diagram is prevented, and a functional flow diagram close tothe original functional flow of an application as a test target isautomatically generated.

FIG. 3 is a diagram illustrating a hardware configuration example of ascreen transition aggregation device 10 in the embodiment of the presentinvention. The screen transition aggregation device 10 in FIG. 3includes a drive device 100, an auxiliary storage device 102, a memorydevice 103, a CPU 104, an interface device 105, a display device 106, aninput device 107, and the like, which are connected to each otherthrough a bus B.

A program for realizing processing in the screen transition aggregationdevice 10 is provided by a recording medium 101 such as a CD-ROM. Whenthe recording medium 101 in which a program is stored is set in thedrive device 100, the program is installed in the auxiliary storagedevice 102 from the recording medium 101 through the drive device 100.However, the program is not necessarily installed by the recordingmedium 101, and may be downloaded from another computer through anetwork. The auxiliary storage device 102 stores the installed programand stores necessary files, data, and the like.

In a case where an instruction for starting a program has been given,the memory device 103 reads the program from the auxiliary storagedevice 102 and stores the program. The CPU 104 realizes a functionrelevant to the screen transition aggregation device 10 in accordancewith the program stored in the memory device 103. The interface device105 is used as an interface for connection to a network. The displaydevice 106 displays a graphical user interface (GUI) or the like basedon the program. The input device 107 is constituted by a keyboard, amouse, and the like, and is used for inputting various operationinstructions.

FIG. 4 is a diagram illustrating a functional configuration example ofthe screen transition aggregation device 10 in the embodiment of thepresent invention. In FIG. 4, the screen transition aggregation device10 includes a specification information restoration unit 11 and a screentransition aggregation unit 12. One or more programs installed on thescreen transition aggregation device 10 cause the CPU 104 to executeprocessing, thereby implementing the units.

Hereinafter, a processing procedure executed by the screen transitionaggregation device 10 will be described. FIG. 5 is a flowchartillustrating an example of a processing procedure executed by the screentransition aggregation device 10.

In Step S101, the specification information restoration unit 11automatically generates a screen transition diagram (hereinafterreferred to as a “screen transition diagram X”) by applying the reversebase test technique disclosed in Non Patent literature 1 to anapplication (hereinafter referred to as a “target application”) as atest target or an analysis target. Here, the screen transition diagramillustrated in FIG. 1 is supposed to be generated. Each node (eachrectangle) in the screen transition diagram corresponds to a screen, andan arrow between the nodes indicates a transition from a screen as thesource of the arrow to a screen as the destination of the arrow. Thatis, the source side of the arrow corresponds to a transition sourcescreen, and the tip side of the arrow corresponds to a transitiondestination screen. The specification information restoration unit 11inputs the generated screen transition diagram to the screen transitionaggregation unit 12.

The screen transition aggregation unit 12 deletes a transition that isnot included in any of the shortest paths from a root node (TOP screen)to each screen (each node) in a transition group included in the screentransition diagram X (S102). At this time, the screen transitionaggregation unit 12 stores information (hereinafter referred to as“transition information”) indicating the deleted transition, forexample, in the memory device 103. The transition information isinformation including, for example, identification information on thetransition source screen and identification information on thetransition destination screen. The screen transition diagram in whichthe transition has been deleted from the screen transition diagram X ishereinafter referred to as a “screen transition diagram X”.

The screen transition aggregation unit 12 executes a generation processof the functional flow diagram for the screen transition diagram X′, anddisplays the generated functional flow diagram on the display device 106(S103). In Step S103, in order from the end screen where no transitiondestination is present in screen transition diagram X′, the degree ofsimilarity between the transition source screen and the transitiondestination screen is calculated using a well-known automatic screenclassification method. When the degree of similarity is equal to orgreater than a threshold value, the transition destination screen andthe transition source screen are classified into the same group (thesame function). When the degree of similarity is smaller than thethreshold value, the transition destination screen and the transitionsource screen are classified into different groups (differentfunctions). In the embodiment, the higher the similarity between thetwo, the greater the degree of similarity in the embodiment. An indexhaving a value that decreases with the higher similarity may be used asthe degree of similarity. In this case, the determination result basedon the comparison with the threshold value may be reversed from that ofthe embodiment.

The screen transition aggregation unit 12 receives, from a user, amodification and the like of the displayed functional flow diagram(S104). For example, a function name is input by the user for each node(each function) in the functional flow diagram. Modifications may alsobe made when there is an error in the classification result of thegroup.

The screen transition aggregation unit 12 adds (restores) the transitiondeleted in Step S102 to the functional flow diagram (S105).Specifically, the screen transition aggregation unit 12 adds atransition related to transition information to the functional flowdiagram, based on the transition information stored in the memory device103 as transition information for the transition deleted in Step S102.As a result, the functional flow diagram is completed.

Subsequently, details of Step S102 will be described. FIG. 6 is aflowchart illustrating an example of a processing procedure of adeletion process of a transition that is not included in any shortestpath.

The screen transition aggregation unit 12 firstly executes a loopprocess L1 including Steps S201 to S203 for each screen (node) includedin the screen transition diagram X. The screen as a processing target inthe loop process is hereinafter referred to as a “target screen”.

In Step S201, the screen transition aggregation unit 12 specifies allpaths of a node of the target screen from the TOP screen (root node) inthe screen transition diagram X. Then, the screen transition aggregationunit 12 specifies the transition sequence of the route having thesmallest number of transitions in the specified route group (S202). Whena plurality of routes are specified in Step S201, a plurality oftransition sequences are specified. The screen transition aggregationunit 12 assigns a flag to each transition included in each transitionsequence (S203).

When the loop process L1 is completed, the screen transition aggregationunit 12 stores, for example, the transition information regarding allthe transitions to which the flag is not assigned in the transitiongroup included in the screen transition diagram X, in the memory device103 (S204). The screen transition aggregation unit 12 deletes all thetransitions to which the flag is not assigned, from the screentransition diagram X to generate a screen transition diagram X′ (S205).

FIG. 7 is a diagram illustrating an example of the screen transitiondiagram X′. FIG. 7 illustrates an example in which a transition that isnot included in any of the shortest paths is deleted from the screentransition diagram X illustrated in FIG. 1. As illustrated in FIG. 7,for example, a transition such as “return to the transition sourcescreen” is also deleted.

Subsequently, details of Step S103 will be described. FIG. 8 is aflowchart illustrating an example of a processing procedure of ageneration process of a functional flow diagram.

In Step S301, the screen transition aggregation unit 12 specifies allend nodes (end screens) in the screen transition diagram X′, andgenerates a list (hereinafter referred to as an “end list”) of theidentification information (hereinafter referred to as a “screen ID”) ofeach specified end screen. The end list is FIFO (First-In First-Out)type data.

The screen transition aggregation unit 12 determines whether or not oneor more screen IDs are included in the end list (S302). When the endlist is not empty (Yes in S302), the screen transition aggregation unit12 acquires one screen ID from the beginning of the end list (S303). Theacquired screen ID is deleted from the end list. A screen related to theacquired screen ID is hereinafter referred to as a “target screen”.

The screen transition aggregation unit 12 specifies the screen(hereinafter referred to as a “transition source screen”) that is thetransition source of the target screen in the screen transition diagramX′ (S304). The transition source of the target screen means thetransition source of the transition with the target screen as thetransition destination. The screen transition aggregation unit 12determines whether or not the transition source screen is the TOP screen(root node screen) (S305). When the transition source screen is the TOPscreen (No in S305), the process returns to Step S302. When thetransition source screen is not the TOP screen (Yes in S305), the screentransition aggregation unit 12 adds the screen ID of the transitionsource screen to the end list (S306).

The screen transition aggregation unit 12 calculates the degree ofsimilarity between the target screen and the transition source screen byusing a well-known automatic screen classification method (S307).

FIG. 9 is a first diagram illustrating an example of an end screen andthe transition source screen that are calculation targets of the degreeof similarity. FIG. 9 illustrates an example in which a screen g7 beingan end screen, and a screen g5 being a transition source screen arecalculation targets of the degree of similarity.

The screen transition aggregation unit 12 compares the degree ofsimilarity with a preset threshold value (S308). When the degree ofsimilarity is equal to or greater than the threshold value (Yes inS308), the screen transition aggregation unit 12 classifies the targetscreen and the transition source screen into the same group, and causesthe process to return to Step S302 (S309). Specifically, when thetransition source screen does not belong to any group, the screentransition aggregation unit 12 generates a new group including thetarget screen and the transition source screen. When the transitionsource screen already belongs to any of the groups, the screentransition aggregation unit 12 includes the target screen in the group.When the target screen already belongs to another group, the screentransition aggregation unit 12 includes a screen group (that is, screengroup belonging to the same group as the target screen among screengroups of transition destinations of the target screen) in the samegroup as the transition source screen.

FIG. 10 is a first diagram illustrating an example of a grouping resultbetween the end screen and the transition source screen. FIG. 10illustrates an example in which a group G1 including the screen g5 andthe screen g7 is generated because the degree of similarity between thescreen g5 and the screen g7 is equal to or greater than the thresholdvalue.

FIG. 11 illustrates an example in which a screen g8 and the screen g5are set to calculation targets of the degree of similarity. When thedegree of similarity is equal to or greater than the threshold value,the screen g8 is classified into the group G1 to which the screen g5belongs, as illustrated in FIG. 12. When the degree of similarity issmaller than the threshold value (No in S308), the process returns toStep S302. Thus, in this case, the target screen is not classified intothe same group as the transition source screen.

Step S303 and the subsequent steps are executed for all end screens inwhich the screen ID is stored in the end list in Step S301.

FIG. 13 is a diagram illustrating an example of the grouping resultafter the degree of similarity with the transition source screen iscalculated for all end screens. FIG. 13 illustrates an example in whichgroups G2 to G5 are generated in addition to group G1.

Step S303 and the subsequent steps are also executed for the transitionsource screen having a screen ID that is added to the end list in StepS306. For example, FIG. 14 illustrates an example in which the degree ofsimilarity between the screen g5 and the screen g2 is calculated. Whenthe degree of similarity is equal to or greater than the thresholdvalue, as illustrated in FIG. 15, the screen g5, and the screen g7 andthe screen g8 belonging to the same group G1 as the screen g5 areincluded in the group G2 to which the screen g2 belongs (group G1 isabsorbed by group G2).

Similarly, as illustrated in FIG. 16, the degree of similarity of ascreen g11 with the screen g9 is calculated. When the degree ofsimilarity is smaller than the threshold value, the screen g11 is notclassified in the same group as the screen g9, as shown in FIG. 17.

In Step S306, not only the transition source screen of the end screenbut also the screen ID of a transition source screen of the transitionsource screen of any screen may be added to the end list. Thus, StepS303 and the subsequent steps are also executed for the transitionsource of the transition source screen. For example, FIG. 18 illustratesan example in which the degree of similarity between the screen g9 andthe screen g3 is calculated. When the degree of similarity is equal toor greater than the threshold value, the screen g9 is included in thegroup G4 to which the screen g3 belongs, as illustrated in FIG. 19.Before the screen g3 is included in the group G4, there is no screenbelonging to the same group as the screen g9. Thus, only the screen g9is newly included in the group G4.

When the end list is empty (No in S303), the screen transitionaggregation unit 12 generates a functional flow diagram having eachgroup generated in Step S309 as a node, and displays (outputs) thefunctional flow diagram on the display device 106 (S310).

In the embodiment, the result of the grouping illustrated in FIG. 19 isoutput as the functional flow diagram.

In this case, in Step S104 of FIG. 5, for example, as illustrated inFIG. 20, a name (function name) of a function may be assigned to eachgroup.

FIG. 20 is a diagram illustrating an example of the functional flowdiagram in which a function name is assigned to each group. FIG. 20illustrates an example in which “membership registration” is assigned asthe function name to the group G2, “tour search” is assigned as thefunction name to the group G4, “login” is assigned as the function nameto the group G5, and “tour reservation” is assigned as the function nameto the group G3. The function name may be assigned by operating thefunctional flow diagram displayed on the display device 106.

In Step S105 of FIG. 5, the deleted transition is restored, asillustrated in FIG. 21, for example.

FIG. 21 is a diagram illustrating an example of a functional flowdiagram in which the deleted transition is restored. In FIG. 21, thetransition that is present in FIG. 1, but is deleted in FIG. 7 isrestored. The transitions across the groups are aggregated in units ofgroups. For example, the transition from each screen to TOP isaggregated in the transition from the group to which each screen belongsto TOP. That is, the screen transition aggregation unit 12 aggregatesthe transitions of common transition destinations within a certain groupinto one transition, and then restores the transitions after theaggregation, in a functional flow diagram. In this state, the functionalflow diagram is completed. The transition is restored, thereby restoringthe relationship between the groups (functions).

As described above, according to the embodiment, the screens being nodesin the screen transition diagram are classified into groups based onsimilarity of the screen, and a functional flow diagram is generatedwith the group as a node. Here, the high similarity of the screen isconsidered to have high commonality of functions. This is becausescreens having common functions tend to have similar screen layouts andcharacter strings contained in the screens. Thus, the functional flowdiagram is considered to be a diagram illustrating the flow of functionsof the target application. According to such a functional flow diagram,it is possible to improve the ease of grasping the specifications of anapplication that provides a function by screen transition, in comparisonto the screen transition diagram in which the transition is expressed inunits of screens.

In the embodiment, the degree of similarity between the screens iscalculated in a state where the transition that is not included in theshortest path to each screen is deleted. As a result, for example, adetour route via a transition unrelated to the function (for example,transition based on a link to another site) or a transition from the endscreen to the TOP screen is deleted. Thus, it is possible to avoidexecution of calculating the degree of similarity between screensunrelated to the function and to avoid classification of the screensinto the same group. As a result, it is possible to increase thepossibility of obtaining a functional flow diagram illustrating afunctional flow close to the original functional flow of the targetapplication.

The embodiment may be applied to an application other than the Webapplication so long as the application provides the function by thescreen transition.

In the embodiment, the screen transition aggregation unit 12 is anexample of the calculation unit, the generation unit, the specifyingunit, the deletion unit, and the specification information restorationunit 11.

Although the embodiment of the present invention has been describedabove, the present invention is not limited to such specificembodiments, and can be modified and changed variously without departingfrom the scope of the invention described in the appended claims.

REFERENCE SIGNS LIST

-   10 Screen transition aggregation device-   11 Specification information restoration unit-   12 Screen transition aggregation unit-   100 Drive device-   101 Recording medium-   102 Auxiliary storage device-   103 Memory device-   104 CPU-   105 Interface device-   106 Display device-   107 Input device-   B Bus

1. A screen transition aggregation device comprising: a determinerconfigured to calculate a degree of similarity between a transitiondestination screen and a transition source screen in order from an endscreen in a screen transition diagram; and a generator configured toclassify the transition destination screen and the transition sourcescreen into groups based on a comparison between the degree ofsimilarity and a threshold value, and to generate information indicatinga transition relationship between the groups.
 2. The screen transitionaggregation device according to claim 1, further comprising: a specifierconfigured to specify a shortest path from a screen of a root node to ascreen in the screen transition diagram; and a deleter configured todelete a transition that is not included in the shortest path from thescreen transition diagram.
 3. The screen transition aggregation deviceaccording to claim 2, wherein the determiner calculates the degree ofsimilarity between the transition destination screen and the transitionsource screen in a screen transition diagram in which the transition isdeleted by the, and the screen transition aggregation device furthercomprises a restorer configured to restore the transition deleted by thedeleter for information indicating the transition relationship betweenthe groups.
 4. A computer-implemented method for aggregating screentransition, the method comprising: calculating, by a determiner, adegree of similarity between a transition destination screen and atransition source screen in order from an end screen in a screentransition diagram; and classifying, by a generator, the transitiondestination screen and the transition source screen into groups based ona comparison between the degree of similarity and a threshold value, andgenerating information indicating a transition relationship between thegroups.
 5. The computer-implemented method according to claim 4, furthercomprising: specifying, by a specifier, a shortest path from a screen ofa root node to a screen in the screen transition diagram; and deleting,by a deleter, a transition that is not included in the shortest pathfrom the screen transition diagram.
 6. The computer-implemented methodaccording to claim 5, wherein the determiner calculates the degree ofsimilarity between the transition destination screen and the transitionsource screen in a screen transition diagram in which the delete deletesthe transition, and the computer-implemented method further comprisesrestoring, by a restorer, the transition deleted in the deleting forinformation indicating the transition relationship between the groups.7. A computer-readable non-transitory recording medium storingcomputer-executable program instructions that when executed by aprocessor cause a computer system to: calculate, by a determiner, adegree of similarity between a transition destination screen and atransition source screen in order from an end screen in a screentransition diagram; and classify, by a generator, the transitiondestination screen and the transition source screen into groups based ona comparison between the degree of similarity and a threshold value, andgenerating information indicating a transition relationship between thegroups.
 8. The screen transition aggregation device according to claim2, wherein the degree of similarity between the transition destinationscreen and the transition source screen is based on the shortest pathbetween the transition destination screen and the transition sourcescreen.
 9. The screen transition aggregation device according to claim2, wherein the screen transition diagram includes a plurality of nodes,each node representing a screen.
 10. The screen transition aggregationdevice according to claim 2, wherein the screen transition diagramincludes an edge between a plurality of nodes, the link representing atransition of screens from the transition source screen to thetransition destination screen.
 11. The screen transition aggregationdevice according to claim 2, wherein each group of the groups representsa function of an application.
 12. The computer-implemented methodaccording to claim 5, wherein the degree of similarity between thetransition destination screen and the transition source screen is basedon the shortest path between the transition destination screen and thetransition source screen.
 13. The computer-implemented method accordingto claim 5, wherein the screen transition diagram includes a pluralityof nodes, each node representing a screen.
 14. The computer-implementedmethod according to claim 5, wherein the screen transition diagramincludes an edge between a plurality of nodes, the link representing atransition of screens from the transition source screen to thetransition destination screen.
 15. The computer-implemented methodaccording to claim 5, wherein each group of the groups represents afunction of an application.
 16. The computer-readable non-transitoryrecording medium of claim 7, the computer-executable programinstructions when executed further causing the system to: specify, by aspecifier, a shortest path from a screen of a root node to a screen inthe screen transition diagram; and delete, by a deleter, a transitionthat is not included in the shortest path from the screen transitiondiagram.
 17. The computer-readable non-transitory recording medium ofclaim 16, wherein the determiner calculates the degree of similaritybetween the transition destination screen and the transition sourcescreen in a screen transition diagram in which the delete deletes thetransition, and the computer-executable program instructions whenexecuted further causing the system to: restore, by a restorer, thetransition deleted in the deleting for information indicating thetransition relationship between the groups.
 18. The computer-readablenon-transitory recording medium of claim 16, wherein the degree ofsimilarity between the transition destination screen and the transitionsource screen is based on the shortest path between the transitiondestination screen and the transition source screen.
 19. Thecomputer-readable non-transitory recording medium of claim 16, whereinthe screen transition diagram includes a plurality of nodes, each noderepresenting a screen, and wherein the screen transition diagramincludes an edge between a plurality of nodes, the link representing atransition of screens from the transition source screen to thetransition destination screen.
 20. The computer-readable non-transitoryrecording medium of claim 16, wherein each group of the groupsrepresents a function of an application.